/**
 * @filename:SysRolePermissionDao 2025-05-27
 * @project starhub-schema  V1.0
 */
package com.starhub.engine.sys.role.dao;


import com.starhub.engine.sys.role.entity.SysRolePermission;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

/**   
 * @Description:(用户角色关联表设置数据访问层)
 * @version: V1.0
 * @author: luosw
 * 
 */
@Mapper
public interface SysRolePermissionDao{

    /**
    *插入所有字段SysRolePermission
    */
    int insert(SysRolePermission record);

    /**
    *插入非空字段SysRolePermission
    *@param record
    */
    int insertSelective(SysRolePermission record);

    /**
    *批量删除SysRolePermission，逻辑删除
    */
    int  deleteSysRolePermissionByType(@Param("idList") List<Long> idList,@Param("deleteType") int deleteType);

    /**
    *批量删除SysRolePermission，物理删除
    */
    int  deleteSysRolePermissionRecord(@Param("idList") List<Long> idList);

    /**
     *根据SysRolePermission对象,更新记录,仅更新非空字段
     *@param record
     */
     int updateByPrimaryKeySelective(SysRolePermission record);

     /**
     *根据SysRolePermission对象，更新记录
     *@param record
     */
     int updateByPrimaryKey(SysRolePermission record);


    /**
    *根据id，查询SysRolePermission对象
    *@param id 记录id
    */
    SysRolePermission selectByPrimaryKey(@Param("id") Long id);


    /**
    *根据查询条件，查询SysRolePermission对象
    *@param record 记录record
    */
    List<SysRolePermission> selectByPrimaryKeySelective(@Param("record") SysRolePermission record);


    List<SysRolePermission> selectByRoleIds(@Param("roleIds") List<Long> roleIds);

}